package com.neusoft.NursingHome.service;

import com.neusoft.NursingHome.po.CustomerProject;
import java.util.List;

public interface CustomerProjectService {

    /**
     * 查询客户购买的护理项目信息
     * @param customerId 客户的唯一标识符
     * @return 客户购买的护理项目列表
     */
    List<CustomerProject> getCustomerPurchasedProjects(Integer customerId);

    /**
     * 续费，更新剩余数量和到期时间
     * @param customerId 客户的唯一标识符
     * @param projectId 护理项目的唯一标识符
     * @param number 更新后的剩余数量
     * @param deadline 更新后的到期时间
     * @return 更新是否成功
     */
    boolean updateCustomerProjectConfig(Integer customerId, Integer projectId, 
    		Integer number, String deadline);

    /**
     * 批量添加客户护理项目
     * @param customerProjects 客户护理项目列表
     * @return 添加是否成功
     */
    boolean addCustomerProjects(List<CustomerProject> customerProjects);
    /**
     * 根据 customer_id 和 project_id 获取一条 CustomerProject 记录
     * @param customerId 客户的唯一标识符
     * @param projectId 护理项目的唯一标识符
     * @return 匹配的 CustomerProject 记录
     */
    CustomerProject getCustomerProjectByCustomerAndProjectId(Integer customerId, Integer projectId);

    /**
     * 根据 customer_id 和 project_id 修改剩余数量
     * @param customerId 客户的唯一标识符
     * @param projectId 护理项目的唯一标识符
     * @param number 更新后的剩余数量
     * @return 更新是否成功
     */
    boolean updateCustomerProjectQuantity(Integer customerId, Integer projectId, Integer number);
}